% Created 2021-07-29 四 21:36
% Intended LaTeX compiler: xelatex
\documentclass[11pt]{article}
\usepackage{graphicx}
\usepackage{grffile}
\usepackage{longtable}
\usepackage{wrapfig}
\usepackage{rotating}
\usepackage[normalem]{ulem}
\usepackage{amsmath}
\usepackage{textcomp}
\usepackage{amssymb}
\usepackage{capt-of}
\usepackage{hyperref}
\usepackage[UTF8]{ctex}
\author{\href{mailto:pengwenbin7@126.com}{pengwenbin7}}
\date{2021-07-22}
\title{关于数的算法}
\hypersetup{
 pdfauthor={\href{mailto:pengwenbin7@126.com}{pengwenbin7}},
 pdftitle={关于数的算法},
 pdfkeywords={},
 pdfsubject={},
 pdfcreator={Emacs 26.3 (Org mode 9.1.9)}, 
 pdflang={Zh-Cn}}
\begin{document}

\maketitle
\tableofcontents

\newpage
\section{蒙特卡洛法求 \(\pi\)}
令 x, y 随机取[0, 1]之间的值，那么使 \(x^2 + y ^2 <= 1\) 的 (x, y) 的集合是一个 1/4 圆，
若 m 个点中，不落在圆外点的个数为 n, 由此可以求出 \(\pi\) 的值.

\begin{equation}
\begin{aligned}
x \in [0, 1] \\
y \in [0, 1] \\
\frac{\pi/4}{1} = \frac{n}{m}
\end{aligned}
\end{equation}

此处有 demo
\newpage


\section{Fibonacci 数列}
有数列 f(n)
\begin{equation}
  \begin{aligned}
    \phi &= \frac{1 + \sqrt{5}}{2} \\
    \mu &= \frac{1 - \sqrt{5}}{2} \\
    f(n) &= \frac{\phi^n-\mu^n}{\sqrt{5}}
  \end{aligned}
\end{equation}

\begin{quote}
猜一猜: \(f(n)\) 和 \(Fib(n)\) 是近似关系还是全等关系
\end{quote}


此处有证明
\newpage
。。。
\newpage
。。。
\newpage


\section{素数检测}
费马小定理:假如 \(a\) 是一个整数, \(p\) 是一个质数，那么 

\begin{equation}
a^{p} \equiv a{\pmod p}
\end{equation}
如果 \(a\) 不是 \(p\) 的倍数，这个定理也可以写成
\begin{equation}
a^{p-1} \equiv 1{\pmod p}
\end{equation}

\newpage
此处有证明
\newpage
。。。
\newpage
。。。
\newpage


\begin{quote}
想一想: 为什么 js 计算的结果错误率这么高, 应当如何优化?
\end{quote}
\newpage

\section{求平方根}
\label{sec:org76d6f4d}
\subsection{二分法}
\label{sec:orgdc652c1}
求正数 \(x (x > 1)\) 的平方根 \(y\) ，首先猜测其值为 \(y_{0} (0 < y_0 < x)\), 若 \(y_{0}^{2} < x\) ，
那么令 \(y_{1} = \frac{y_{0} + x}{2}\),
若 \(y_{1}^{2} > x\) 那么令 \(y_{2} = \frac{y_{0} + y_{1}}{2}\),
若此反复, \(y_{n}\) 可以以任意精度接近 \(x\) 的平方根.
\subsection{牛顿法}
\label{sec:org48c094a}
\url{./newton.gif}

首先，选择一个接近函数 \(f(x)\) 零点的 \(x_{0}\) , 计算相应的 \(f(x_{0})\) 和切线斜率 \(f'(x_{0})\). 
然后我们计算穿过点 \((x_{0},f(x_{0}))\) 并且斜率为 \(f'(x_{0})\) 的直线和 \(x\) 轴的交点的 \(x\) 坐标，也就是求如下方程的解:
\begin{equation}
0=(x-x_{0})\cdot f'(x_{0})+f(x_{0})
\end{equation}
我们将新求得的点的 \(x\) 坐标命名为 \(x_{1}\) , 通常 \(x_{1}\) 会比 \(x_{0}\) 更接近方程 \(f(x)=0\) 的解. 
因此我们现在可以利用 \(x_{1}\) 开始下一轮迭代。迭代公式可化简为如下所示：
\begin{equation}
x_{n+1} = x_{n} - \frac{f(x_{n})}{f'(x_{n})}
\end{equation}

此处有 demo
\newpage
。。。
\newpage
。。。
\newpage
。。。
\end{document}
